/* 
类型推断: TS会在没有明确的指定类型的时候推测出一个类型
    定义变量时赋值了, 推断为对应的类型
    定义变量时没有赋值, 推断为any类型
    初始值undfined或null, 推断为 any 类型
*/

(() => {
  // 定义变量时, 如果没有指定类型, 内部会自动推断出一个类型
    // 初始值类型
  let a = 123 
  // a = 'abc' // error
  let b // 推断为any
  b = 123
  b = 'abc'
  b = {}

  let c = null   // 推断为any类型
  c = 'abc'
  c = 123


})()
